<?php
class AsistentesCatedraController extends Controller
{
	public $layout='/layouts/column2';
	public $mainMenu='usuarios_grupos';

	public function filters()
	{
		return array(
				'accessControl',
		);
	}

	public function accessRules()
	{
		return array(
				array('allow',
						'actions'=>array('index','nuevo','editar','checknumerocarne'),
						'roles'=>array('ADMINISTRADOR'),
				),
				array('deny',  // deny all users
						'users'=>array('*'),
				),
		);
	}

	public function actionIndex()
	{
		if(Yii::app()->request->isAjaxRequest){
			$numeroRegistrosPagina=Yii::app()->request->getParam("iDisplayLength");
			$indiceRegistroInicio=Yii::app()->request->getParam("iDisplayStart");
			$busqueda=Yii::app()->request->getParam("sSearch");
			$asistentesCatedraAArray=AsistenteCatedra::model()->buscarAsistentesCatedraPaginadoArray($indiceRegistroInicio, $numeroRegistrosPagina,$busqueda);
			$count=AsistenteCatedra::model()->count();
			$sEcho=Yii::app()->request->getParam("sEcho");

			$resultadoPaginacionDatatables=Yii::app()->paginacionUtil
			->generarArrayRetornoDataTables($count,$asistentesCatedraAArray,$sEcho,$count);
			echo json_encode($resultadoPaginacionDatatables);
			Yii::app()->end();
		}
		else{
			$this->render('index');
		}

	}

	public function actionNuevo(){
		if(Yii::app()->request->isPostRequest){
			$transaction=Yii::app()->db->beginTransaction();
			$resultado["error"]=false;
			try {
				$id_asistente_catedra=AsistenteCatedra::model()->guardarAsistenteCatedra($_POST);
				if($id_asistente_catedra!=-1&&isset($id_asistente_catedra)){
					$transaction->commit();
					$resultado["mensaje"]=$id_asistente_catedra;
				}
				else{
					throw new Exception("Por favor verifique que los ha ingresado correctamente");
				}
			} catch (Exception $e) {
				$transaction->rollback();
				$resultado["error"]=true;
				$resultado["mensaje"]=htmlspecialchars($e->getMessage());
			}
			echo json_encode($resultado);
			Yii::app()->end();
		}
		else{
			$estadosLaborales=EstadoLaboral::model()->findAll();
			$this->render('nuevo',array(
					'estadosLaborales'=>$estadosLaborales));
		}
	}

	public function actionCheckNumeroCarne(){
		$valido=true;
		echo json_encode($valido);

	}

	public function actionEditar(){
		if(Yii::app()->request->isPostRequest){
			$resultado["error"]=false;
			$transaction=Yii::app()->db->beginTransaction();
			try{
				if(AsistenteCatedra::model()->actualizarDatosAsistenteCatedra($_POST)){
					$transaction->commit();
				}
			}
			catch(Exception $e){
				$transaction->rollback();
				$resultado["error"]=true;
				$resultado["mensaje"]=htmlspecialchars($e->getMessage());
			}

			echo json_encode($resultado);
			Yii::app()->end();
		}
		else {
			$estadosLaborales=EstadoLaboral::model()->findAll();
			$id_rol_partido=$_GET['id_rol_partido'];
			$modelo=AsistenteCatedra::model()->findByPk($id_rol_partido);
			$modelo->isNewRecord=false;
			$this->renderPartial("editar",array("estadosLaborales"=>$estadosLaborales,"modelo"=>$modelo));
		}
	}

	// Uncomment the following methods and override them if needed
	/*
	public function filters()
	{
	// return the filter configuration for this controller, e.g.:
	return array(
			'inlineFilterName',
			array(
					'class'=>'path.to.FilterClass',
					'propertyName'=>'propertyValue',
			),
	);
	}

	public function actions()
	{
	// return external action classes, e.g.:
	return array(
			'action1'=>'path.to.ActionClass',
			'action2'=>array(
					'class'=>'path.to.AnotherActionClass',
					'propertyName'=>'propertyValue',
			),
	);
	}
	*/
}